﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace HPCERP.Model.Menu
{
    /// <summary>
    /// Generate Web Menu Items
    /// </summary>
    public class MenuWeb
    {
        /// <summary>
        /// Constructor
        /// </summary>
        public MenuWeb()
        {
        }

        /// <summary>
        /// Generate Web Menu object
        /// </summary>
        /// <returns>List of Items</returns>
        public List<MenuGroup> GenerateMenuWeb()
        {
            try
            {
                List<MenuGroup> lstMenu = new List<MenuGroup>();

                lstMenu.Add(new MenuGroup("General Setup", MakeGeneralMenu()));
                lstMenu.Add(new MenuGroup("Warehouse Management", makeWarehouseMenu()));
                lstMenu.Add(new MenuGroup("Production Management", MakeProductionMenu()));
                lstMenu.Add(new MenuGroup("Material Requirement", MakeMaterialMenu()));
                lstMenu.Add(new MenuGroup("Sales Management", MakeSalesMenu()));
                lstMenu.Add(new MenuGroup("Project Management", MakeProjectMenu()));
                lstMenu.Add(new MenuGroup("Financial Management", MakeFinancialMenu()));
                lstMenu.Add(new MenuGroup("Accounting Management", MakeAccountingMenu()));
                lstMenu.Add(new MenuGroup("CRM", MakeCRMMenu()));
                lstMenu.Add(new MenuGroup("eCommerce", MakeECommerceMenu()));
                lstMenu.Add(new MenuGroup("Logistic", MakeLogisticMenu()));
                lstMenu.Add(new MenuGroup("Human Resources", MakeHumanResourceMenu()));

                return lstMenu;
            }
            catch (Exception ex)
            {
                
                throw ex;
            }
        }

        /// <summary>
        /// Make Human Resource Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeHumanResourceMenu()
        {
            List<Module> lstModule = new List<Module>();
            lstModule.Add(new Module("People","People","Index","HumanResource"));
            return lstModule;
        }

        /// <summary>
        /// Make Logistic Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeLogisticMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make eCommerce Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeECommerceMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make CRM Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeCRMMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Account Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeAccountingMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Financial Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeFinancialMenu()
        {
            List<Module> lstModule = new List<Module>();
            lstModule.Add(new Module("Banks", "Bank", "Index", "Finance"));
            lstModule.Add(new Module("Payments", "Payments", "Index", "Finance"));
            lstModule.Add(new Module("Receive", "Receive", "Index", "Finance"));
            lstModule.Add(new Module("Cash Flow", "CashFlow", "Index", "Finance"));
            return lstModule;
        }

        /// <summary>
        /// Make Project Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeProjectMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Sales Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeSalesMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Material Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeMaterialMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Product Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeProductionMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make Warehorese Management Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> makeWarehouseMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }

        /// <summary>
        /// Make General Setup Menu Items
        /// </summary>
        /// <returns>List of Items</returns>
        private List<Module> MakeGeneralMenu()
        {
            List<Module> lstModule = new List<Module>();
            return lstModule;
        }
    }
}
